Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Garantueed individual values
var Individual = require("individual")
var moduleCache = Individual("__MY_MODULE_CACHE", {})
// moduleCache is a individual variable local to this file.
// It will always be the same value and defaults to {}.
This gives you a singleton value by a unique name (it stores it as a global variable).
Your module has an internal cache. If your module is loaded twice, (someone didn't npm dedup and has two copies of your module) you would have two seperate caches that dont talk to each other.
Best case your cache is less efficient. Worst case you have a cache because the native C++ extension you talk to crashes if you instantiate something twice.
You need a garantuee that this value is an individual, there is only one of it.
I use it myself because opening a SockJS websocket to the same URI twice causes an infinite loop. I need a garantuee that I have an individual value for the SockJS connection so I can see whether I already have an open connection.
I can't imagine any other way to do it. I hate it too. Make a pull request if you know the real solution
npm install individual
FAQs
Garantueed individual values
We found that individual demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.